// main_init function main_init = function(mc){ d = deg360 / 360 * effect_angle; box = function ( mc, tl_x, tl_y, br_x, br_y ){ mc.lineStyle(); mc.beginFill(0); mc.moveTo (tl_x,tl_y); mc.lineTo (br_x,tl_y); mc.lineTo (br_x,br_y); mc.lineTo (tl_x,br_y); mc.endFill(); } } // main_effect function main_effect = function(mc,frame){ if (subs_done) end_effect = true; } // sub_init function sub_init = function(mc){ b = mc.getBounds(mc); p = $padding /2; m = mc._parent; for (i=1;i<=4;i++){ mc.duplicateMovieClip("p"+i+"_"+mc._i,mc._i*10+i); m.createEmptyMovieClip("m"+i+"_"+mc._i,mc._i*10+i+5); part = m["p"+i+"_"+mc._i]; part._visible = false; msk = m["m"+i+"_"+mc._i]; part.setMask(msk); if (out_effect){ part._x = msk._x = mc.__x; part._y = msk._y = mc.__y; } else { part._x = msk._x = mc.__x - Math.cos(deg90 * i - d) * distance; part._y = msk._y = mc.__y - Math.sin(deg90 * i - d) * distance; } } box (m["m1_"+mc._i],b.xMin+p,b.yMin+p,0,0); box (m["m2_"+mc._i],0,b.yMin+p,b.xMax-p,0); box (m["m3_"+mc._i],0,0,b.xMax-p,b.yMax-p); box (m["m4_"+mc._i],b.xMin+p,0,0,b.yMax-p); if (!out_effect) mc._alpha = 0; } // sub_effect function sub_effect = function(mc,frame){ perc = frame / lastsubframe; if (out_effect) { perc = 1 - perc; mc._alpha = 0; } m = mc._parent; for (i=1;i<=4;i++){ part = m["p"+i+"_"+mc._i]; msk = m["m"+i+"_"+mc._i]; part._x = msk._x = mc.__x - Math.cos(deg90 * i - d) * distance * (1-perc); part._y = msk._y = mc.__y - Math.sin(deg90 * i - d) * distance * (1-perc); if (rotation) part._rotation = msk._rotation = perc * 360; if (fade) part._alpha = perc * 100; part._visible = true; } if (frame == lastsubframe) { for (i=1;i<=4;i++){ m["p"+i+"_"+mc._i].removeMovieClip(); m["m"+i+"_"+mc._i].removeMovieClip(); } if (!out_effect) mc._alpha = 100; mc.done = true; } }